package cn.lyd.controller;

import cn.lyd.domain.Dept;
import cn.lyd.service.IDeptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;

@Controller
@RequestMapping("/system/dept")
public class DeptController {

    @Autowired
    private IDeptService deptService;

    /**
     * 查询所有部门
     * @param model
     * @return
     */
    @RequestMapping("/list")
    public String findAll(Model model){
        List<Dept> list = deptService.findAll();
        model.addAttribute("list",list);
        return "dept_list";
    }


    /**
     * 删除部门
     * @param deptid
     * @return
     */
    //删除 /del
    @RequestMapping("/del")
    public String delById(Long deptid){
        deptService.delete(deptid);
        //重定向，重新查询所有部门的接口
        return "redirect:list";//相对路径，直接在当前请求下找
//        return "redirect:/system/dept/list";//绝对路径
    }

    /**
     * 新增或修改跳转
     * @param deptid
     * @param model
     * @return
     */
    //新增跳转
    @RequestMapping("/jump")
    public String jump(Long deptid,Model model){
        if (deptid==null) {//执行新增
            //新增跳转
            return "dept_add";
        } else {
            //根据id查询部门信息
            Dept dept = deptService.loadById(deptid);
            model.addAttribute("dept",dept);
            //执行修改跳转
            return "dept_edit";
        }
    }

    /**
     * 新增部门
     * @param dept
     * @return
     */
    //新增 /save
    @RequestMapping("/save")
    public String save(Dept dept){
        deptService.save(dept);
        //重定向，重新查询所有部门的接口
        return "redirect:list";//相对路径，直接在当前请求下找
//        return "redirect:/system/dept/list";//绝对路径
    }

    /**
     * 修改部门
     * @param dept
     * @return
     */
    //修改 /update
    @RequestMapping("/update")
    public String update(Dept dept){
        deptService.update(dept);
        //重定向，重新查询所有部门的接口
//        return "redirect:list";//相对路径，直接在当前请求下找
        return "redirect:/system/dept/list";//绝对路径
    }




}
